home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / sys / amiga / programmer / 4332 < prev    next >
Encoding:
Text File  |  1996-08-05  |  1.7 KB  |  36 lines

  1. Newsgroups: comp.sys.amiga.programmer
  2. Path: news99.sunet.se!liuida!news
  3. From: c92manen@und.ida.liu.se (Mans Engman)
  4. Subject: Re: 680X0 -> PPC translator?
  5. X-Nntp-Posting-Host: astmatix.ida.liu.se
  6. Message-ID: <1190.6631T892T581@und.ida.liu.se>
  7. Sender: news@ida.liu.se
  8. Organization: CIS Dept, Linkoping University, Sweden
  9. X-Newsreader: THOR 2.22 (Amiga;TCP/IP) *UNREGISTERED*
  10. References: <4fstt2$old@newsstand.cit.cornell.edu> <PETERM.96Feb19135541@tui.maths.irl.cri.nz> <4glch6$rle@ra.nrl.navy.mil>
  11. Date: Tue, 27 Feb 1996 13:52:11 GMT
  12.  
  13.  
  14. fkrj@crux4.cit.cornell.edu (Benjamin Kenobi) writes:
  15. >I'm just wondering, is there any good reason AT can't write a program
  16. >which will tranlsate binary executables from 680X0 -> PPC, doing
  17. >optimizations along the way?  That way we could translate most of our old
  18. >software and it would run efficiently.  Why didn't Apple do this with the
  19. >PowerMacs?
  20.  
  21. It is not possible, in the general case, to do completely static code-
  22. translation. This means that on some stage there always has to be some kind of
  23. interpretation involved, no matter how complex you make the translator.
  24. For instance, think about how to handle this simple question:
  25. For a given program, what is code and what is data?
  26. Ok, so you make a little code reachability test to find out...but then, how do
  27. you make it handle indirect jumps (library calls!)? Hmm...just emulate the
  28. code perhaps? :) How would you handle on-the-fly code creating/modifying? Ok,
  29. so noone uses self-modifying code anymore, but what if some code is
  30. compressed, for instance? You can't solve these problems without having rigid
  31. rules which completely separate code from data. And that would break quite a
  32. few programs.
  33.  
  34. /Mans (.sig being recompiled)
  35.  
  36.